#include "sbrush_dag_sms_synth.h"

using namespace sbrush;
using namespace dag;
using namespace std;

/* TODO: this class */

DagSmsSynth::DagSmsSynth()
:	m_IsRunning(false),
	m_KeepRunning(false),
	m_FrameOp(NULL)
{
	Sms::initEmptyFrame(m_SmsBuffer.buffer1());
	Sms::initEmptyFrame(m_SmsBuffer.buffer2());
}

DagSmsSynth::~DagSmsSynth() throw() {
	if (m_IsRunning) {
		stopProcessing();
		joinThread();
	}
	/* TODO: dealloc sms frames */
	
}

void DagSmsSynth::init(const SMS_Header& header,
					   auto_ptr<FrameOperator> frameOp) {
	
}

void DagSmsSynth::addAudio(float** buffer, 
						   size_t numFrames, 
						   size_t numChannels) {
}

void DagSmsSynth::instrumentCallback(const Instrument* instrument,
									 const InstrumentState& state) {
}

void DagSmsSynth::runThread() {
}

void DagSmsSynth::startProcessing() {
}

void DagSmsSynth::stopProcessing() {
}
